Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Query plan</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Query_plan"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Query_plan rootpage-Query_plan skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Query plan</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p>A <b>query plan</b> (or <b>query execution plan</b>) is a sequence of steps used to <a href="Data_access" title="Data access">access data</a> in a <a href="SQL" title="SQL">SQL</a> <a href="Relational_database_management_system" class="mw-redirect" title="Relational database management system">relational database management system</a>. This is a specific case of the <a href="Relational_model" title="Relational model">relational model</a> concept of access plans.
</p><p>Since <a href="SQL" title="SQL">SQL</a> is <a href="Declarative_programming" title="Declarative programming">declarative</a>, there are typically many alternative ways to execute a given query, with widely varying performance. When a <a href="Information_retrieval" title="Information retrieval">query</a> is submitted to the database, the <a href="Query_optimizer" class="mw-redirect" title="Query optimizer">query optimizer</a> evaluates some of the different, correct possible plans for executing the query and returns what it considers the best option. Because query optimizers are imperfect, database users and administrators sometimes need to manually examine and tune the plans produced by the optimizer to get better performance.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Generating_query_plans">Generating query plans</h2></div>
<p>A given database management system may offer one or more mechanisms for returning the plan for a given query. Some packages feature tools which will generate a graphical representation of a query plan. Other tools allow a special mode to be set on the connection to cause the DBMS to return a textual description of the query plan. Another mechanism for retrieving the query plan involves querying a virtual database table after executing the query to be examined. In Oracle, for instance, this can be achieved using the EXPLAIN PLAN statement.
</p>
<div class="mw-heading mw-heading3"><h3 id="Graphical_plans">Graphical plans</h3></div>

<p>The <a href="SQL_Server_Management_Studio" title="SQL Server Management Studio">Microsoft SQL Server Management Studio</a> tool, which ships with <a href="Microsoft_SQL_Server" title="Microsoft SQL Server">Microsoft SQL Server</a>, for example, shows this graphical plan when executing this two-table join example against an included sample database:
</p>
<div class="mw-highlight mw-highlight-lang-tsql mw-content-ltr" dir="ltr"><pre><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span>
<span class="k">FROM</span><span class="w"> </span><span class="n">HumanResources</span><span class="p">.</span><span class="n">Employee</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">e</span>
<span class="w"> </span><span class="k">INNER</span><span class="w"> </span><span class="k">JOIN</span><span class="w"> </span><span class="n">Person</span><span class="p">.</span><span class="n">Contact</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">c</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="n">ContactID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c</span><span class="p">.</span><span class="n">ContactID</span>
<span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">c</span><span class="p">.</span><span class="n">LastName</span>
</pre></div>
<p>The UI allows exploration of various attributes of the operators involved in the query plan, including the operator type, the number of rows each operator consumes or produces, and the expected cost of each operator's work.
</p>
<div class="mw-heading mw-heading3"><h3 id="Textual_plans">Textual plans</h3></div>
<p>The textual plan given for the same query in the screenshot is shown here:
</p>
<div class="mw-highlight mw-highlight-lang-tsql mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span class="n">StmtText</span>
<span class="o">----</span>
<span class="w"> </span><span class="o">|--</span><span class="n">Sort</span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="err">:</span><span class="p">(</span><span class="o">[</span><span class="n">c</span><span class="o">]</span><span class="p">.</span><span class="o">[</span><span class="n">LastName</span><span class="o">]</span><span class="w"> </span><span class="k">ASC</span><span class="p">))</span>
<span class="w"> </span><span class="o">|--</span><span class="n">Nested</span><span class="w"> </span><span class="n">Loops</span><span class="p">(</span><span class="k">Inner</span><span class="w"> </span><span class="k">Join</span><span class="p">,</span><span class="w"> </span><span class="k">OUTER</span><span class="w"> </span><span class="k">REFERENCES</span><span class="err">:</span><span class="p">(</span><span class="o">[</span><span class="n">e</span><span class="o">]</span><span class="p">.</span><span class="o">[</span><span class="n">ContactID</span><span class="o">]</span><span class="p">,</span><span class="w"> </span><span class="o">[</span><span class="n">Expr1004</span><span class="o">]</span><span class="p">)</span><span class="w"> </span><span class="k">WITH</span><span class="w"> </span><span class="n">UNORDERED</span><span class="w"> </span><span class="n">PREFETCH</span><span class="p">)</span>
<span class="w"> </span><span class="o">|--</span><span class="k">Clustered</span><span class="w"> </span><span class="k">Index</span><span class="w"> </span><span class="n">Scan</span><span class="p">(</span><span class="k">OBJECT</span><span class="err">:</span><span class="p">(</span><span class="o">[</span><span class="n">AdventureWorks</span><span class="o">]</span><span class="p">.</span><span class="o">[</span><span class="n">HumanResources</span><span class="o">]</span><span class="p">.</span><span class="o">[</span><span class="n">Employee</span><span class="o">]</span><span class="p">.</span><span class="o">[</span><span class="n">PK_Employee_EmployeeID</span><span class="o">]</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="o">[</span><span class="n">e</span><span class="o">]</span><span class="p">))</span>
<span class="w"> </span><span class="o">|--</span><span class="k">Clustered</span><span class="w"> </span><span class="k">Index</span><span class="w"> </span><span class="n">Seek</span><span class="p">(</span><span class="k">OBJECT</span><span class="err">:</span><span class="p">(</span><span class="o">[</span><span class="n">AdventureWorks</span><span class="o">]</span><span class="p">.</span><span class="o">[</span><span class="n">Person</span><span class="o">]</span><span class="p">.</span><span class="o">[</span><span class="n">Contact</span><span class="o">]</span><span class="p">.</span><span class="o">[</span><span class="n">PK_Contact_ContactID</span><span class="o">]</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="o">[</span><span class="n">c</span><span class="o">]</span><span class="p">),</span>
<span class="w"> </span><span class="nl">SEEK</span><span class="p">:(</span><span class="o">[</span><span class="n">c</span><span class="o">]</span><span class="p">.</span><span class="o">[</span><span class="n">ContactID</span><span class="o">]=[</span><span class="n">AdventureWorks</span><span class="o">]</span><span class="p">.</span><span class="o">[</span><span class="n">HumanResources</span><span class="o">]</span><span class="p">.</span><span class="o">[</span><span class="n">Employee</span><span class="o">]</span><span class="p">.</span><span class="o">[</span><span class="n">ContactID</span><span class="o">]</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="o">[</span><span class="n">e</span><span class="o">]</span><span class="p">.</span><span class="o">[</span><span class="n">ContactID</span><span class="o">]</span><span class="p">)</span><span class="w"> </span><span class="n">ORDERED</span><span class="w"> </span><span class="n">FORWARD</span><span class="p">)</span>
</pre></div>
<p>It indicates that the query engine will do a scan over the primary key index on the Employee table and a matching seek through the primary key index (the ContactID column) on the Contact table to find matching rows. The resulting rows from each side will be shown to a nested loops join operator, sorted, then returned as the <a href="Result_set" title="Result set">result set</a> to the connection.
</p><p>In order to tune the query, the user must understand the different operators that the database may use, and which ones might be more efficient than others while still providing semantically correct query results.
</p>
<div class="mw-heading mw-heading2"><h2 id="Database_tuning">Database tuning</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Database_tuning" title="Database tuning">Database tuning</a></div>
<p>Reviewing the query plan can present opportunities for new <a href="Index_(database)" class="mw-redirect" title="Index (database)">indexes</a> or changes to existing indexes. It can also show that the database is not properly taking advantage of existing indexes (see <a href="Query_optimizer" class="mw-redirect" title="Query optimizer">query optimizer</a>).
</p>
<div class="mw-heading mw-heading2"><h2 id="Query_tuning">Query tuning</h2></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Query_optimizer" class="mw-redirect" title="Query optimizer">Query optimizer</a></div>
<p>A query optimizer will not always choose the most efficient query plan for a given query. In some databases the query plan can be reviewed, problems found, and then the <a href="Query_optimizer" class="mw-redirect" title="Query optimizer">query optimizer</a> gives <a href="Hint_(SQL)" title="Hint (SQL)">hints</a> on how to improve it. In other databases, alternatives to express the same query (other queries that return the same results) can be tried. Some query tools can generate embedded hints in the query, for use by the optimizer.
</p><p>Some databases - like Oracle - provide a <b>plan table</b> for query tuning. This plan table will return the cost
and time for executing a query. Oracle offers two optimization approaches:
</p>
<ol><li>CBO or Cost Based Optimization</li>
<li>RBO or Rule Based Optimization</li></ol>
<p>RBO is slowly being deprecated. For CBO to be used, all the tables referenced by the query must be analyzed. To analyze a table, a DBA can launch code from the DBMS_STATS package.
</p><p>Other tools for query optimization include:
</p>
<ol><li>SQL Trace<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></li>
<li>Oracle Trace and TKPROF <sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup></li>
<li>Microsoft SMS (SQL) Execution Plan<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup></li>
<li>Tableau Performance Recording (all DB)<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup></li></ol>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Database_management_systems327" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="Database_management_systems327" style="font-size:114%;margin:0 4em"><a href="Database" title="Database">Database management systems</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Types</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Object_database" title="Object database">Object-oriented</a>
<ul><li><a href="Comparison_of_object_database_management_systems" title="Comparison of object database management systems">comparison</a></li></ul></li>
<li><a href="Relational_database" title="Relational database">Relational</a>
<ul><li><a href="List_of_relational_database_management_systems" title="List of relational database management systems">list</a></li>
<li><a href="Comparison_of_relational_database_management_systems" title="Comparison of relational database management systems">comparison</a></li></ul></li>
<li><a href="Key%E2%80%93value_database" title="Key–value database">Key–value</a></li>
<li><a href="Column-oriented_DBMS" class="mw-redirect" title="Column-oriented DBMS">Column-oriented</a>
<ul><li><a href="List_of_column-oriented_DBMSes" title="List of column-oriented DBMSes">list</a></li></ul></li>
<li><a href="Document-oriented_database" title="Document-oriented database">Document-oriented</a></li>
<li><a href="Wide-column_store" title="Wide-column store">Wide-column store</a></li>
<li><a href="Graph_database" title="Graph database">Graph</a></li>
<li><a href="NoSQL" title="NoSQL">NoSQL</a></li>
<li><a href="NewSQL" title="NewSQL">NewSQL</a></li>
<li><a href="In-memory_database" title="In-memory database">In-memory</a>
<ul><li><a href="List_of_in-memory_databases" title="List of in-memory databases">list</a></li></ul></li>
<li><a href="Multi-model_database" title="Multi-model database">Multi-model</a>
<ul><li><a href="Comparison_of_multi-model_databases" title="Comparison of multi-model databases">comparison</a></li></ul></li>
<li><a href="Cloud_database" title="Cloud database">Cloud</a></li>
<li><a href="Blockchain-based_database" title="Blockchain-based database">Blockchain-based database</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Concepts</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Database" title="Database">Database</a></li>
<li><a href="ACID" title="ACID">ACID</a></li>
<li><a href="Armstrong's_axioms" title="Armstrong's axioms">Armstrong's axioms</a></li>
<li><a href="Codd's_12_rules" title="Codd's 12 rules">Codd's 12 rules</a></li>
<li><a href="CAP_theorem" title="CAP theorem">CAP theorem</a></li>
<li><a href="Create%2C_read%2C_update_and_delete" title="Create, read, update and delete">CRUD</a></li>
<li><a href="Null_(SQL)" title="Null (SQL)">Null</a></li>
<li><a href="Candidate_key" title="Candidate key">Candidate key</a></li>
<li><a href="Foreign_key" title="Foreign key">Foreign key</a></li>
<li><a href="PACELC_design_principle" title="PACELC design principle">PACELC design principle</a></li>
<li><a href="Superkey" title="Superkey">Superkey</a></li>
<li><a href="Surrogate_key" title="Surrogate key">Surrogate key</a></li>
<li><a href="Unique_key" title="Unique key">Unique key</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Objects</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Relation_(database)" title="Relation (database)">Relation</a>
<ul><li><a href="Table_(database)" title="Table (database)">table</a></li>
<li><a href="Column_(database)" title="Column (database)">column</a></li>
<li><a href="Row_(database)" title="Row (database)">row</a></li></ul></li>
<li><a href="View_(SQL)" title="View (SQL)">View</a></li>
<li><a href="Database_transaction" title="Database transaction">Transaction</a></li>
<li><a href="Transaction_log" title="Transaction log">Transaction log</a></li>
<li><a href="Database_trigger" title="Database trigger">Trigger</a></li>
<li><a href="Database_index" title="Database index">Index</a></li>
<li><a href="Stored_procedure" title="Stored procedure">Stored procedure</a></li>
<li><a href="Cursor_(databases)" title="Cursor (databases)">Cursor</a></li>
<li><a href="Partition_(database)" title="Partition (database)">Partition</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Components</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Concurrency_control" title="Concurrency control">Concurrency control</a></li>
<li><a href="Data_dictionary" title="Data dictionary">Data dictionary</a></li>
<li><a href="Java_Database_Connectivity" title="Java Database Connectivity">JDBC</a></li>
<li><a href="XQuery_API_for_Java" title="XQuery API for Java">XQJ</a></li>
<li><a href="Open_Database_Connectivity" title="Open Database Connectivity">ODBC</a></li>
<li><a href="Query_language" title="Query language">Query language</a></li>
<li><a href="Query_optimization" title="Query optimization">Query optimizer</a></li>
<li><a href="Query_Rewriting" class="mw-redirect" title="Query Rewriting">Query rewriting system</a></li>
</ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Functions</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Database_administration" title="Database administration">Administration</a></li>
<li><a href="Query_optimization" title="Query optimization">Query optimization</a></li>
<li><a href="Replication_(computing)#DATABASE" title="Replication (computing)">Replication</a></li>
<li><a href="Shard_(database_architecture)" title="Shard (database architecture)">Sharding</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related topics</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Database_model" title="Database model">Database models</a></li>
<li><a href="Database_normalization" title="Database normalization">Database normalization</a></li>
<li>Database storage</li>
<li><a href="Distributed_database" title="Distributed database">Distributed database</a></li>
<li><a href="Federated_database_system" title="Federated database system">Federated database system</a></li>
<li><a href="Referential_integrity" title="Referential integrity">Referential integrity</a></li>
<li><a href="Relational_algebra" title="Relational algebra">Relational algebra</a></li>
<li><a href="Relational_calculus" title="Relational calculus">Relational calculus</a></li>
<li><a href="Relational_model" title="Relational model">Relational model</a></li>
<li><a href="Object%E2%80%93relational_database" title="Object–relational database">Object–relational database</a></li>
<li><a href="Transaction_processing" title="Transaction processing">Transaction processing</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</li>
<li><span class="noviewer" typeof="mw:File"><span title="Outline"></span></span> <a href="Outline_of_databases" title="Outline of databases">Outline</a></li></ul>
</div></td></tr></tbody></table></div>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/sql/relational-databases/sql-trace/sql-trace?view=sql-server-ver15">"SQL Trace"</a>. <i>Microsoft.com</i>. Microsoft<span class="reference-accessdate">. Retrieved <span class="nowrap">30 March</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.oracle.com/cd/B10500_01/server.920/a96533/sqltrace.htm">"Using SQL Trace and TKPROF"</a>. <i>Oracle.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">30 March</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/sql/relational-databases/performance/execution-plans?view=sql-server-ver15">"Execution Plans"</a>. <i>Microsoft.com</i>. Microsoft<span class="reference-accessdate">. Retrieved <span class="nowrap">30 March</span> 2020</span>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://help.tableau.com/current/pro/desktop/en-us/performance_tips.htm">"Optimize Workbook Performance"</a>. <i>Tableau.com</i>. Tableau Inc<span class="reference-accessdate">. Retrieved <span class="nowrap">30 March</span> 2020</span>.</cite></span>
</li>
</ol></div></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-06-23" href="https://en.wikipedia.org/wiki/?title=Query_plan&amp;oldid=1296956659">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>